You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This PR removes the deprecated set_stack_pointer.o helper from the glibc/sysroot build path.
Previously, set_stack_pointer.o was built from set_stack_pointer.s, copied into the wasm32-wasi sysroot, included in glibc object lists, and explicitly linked during dynamic compilation. The stack pointer update is now handled on the Wasmtime side, so this standalone helper object is no longer needed.
This change:
removes src/glibc/csu/wasm32/set_stack_pointer.s
removes set_stack_pointer.o / set_stack_pointer.os from glibc object lists
stops building and copying set_stack_pointer.o into the sysroot
stops linking set_stack_pointer.o in scripts/lind_compile
removes the dummy set_stack_pointer reference from pthread_create.c
updates the toolchain documentation accordingly
Related Issue
Closes#978
Related to: glibc: depreciate set_stack_pointer.o
Validation
I checked that there are no remaining script/source/document references to:
set_stack_pointer.s
set_stack_pointer.o
set_stack_pointer.os
using grep across scripts, src, and docs, excluding generated/binary artifacts.
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Cage | geteuid] PASS: 1000000 calls returned 10
[Grate|geteuid] PASS
STDERR:
concurrent-request/race-test_grate.c
Success
STDOUT:
pass
STDERR:
concurrent-request/thread_race_grate.c
Success
STDOUT:
[thread_race] Registering handler for cage 2 in grate 1 with fn ptr addr: 3
[thread_race] PASS: 20 threads x 100000 calls returned 10
[thread_race] PASS
STDERR:
interposing-calls/interpose-exec_grate.c
Success
STDOUT:
[Grate|interpose-exec] Registering exec handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
Exec successful, argv[1]: --execd
[Grate|interpose-exec] PASS
STDERR:
interposing-calls/interpose-exit_grate.c
Success
STDOUT:
[Grate|interpose-exit] Registering exit handler for cage 2 in grate 1 with fn ptr addr: 3
Exiting...
[Grate|interpose-exit] PASS
STDERR:
interposing-calls/interpose-fork_grate.c
Success
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-fork] Handling function ptr: 3 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Grate|interpose-fork] PASS
STDERR:
interposing-calls/interpose-mmap_grate.c
Success
STDOUT:
[Grate|interpose-mmap] Registering mmap handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
mmap test: PASS
[Grate|interpose-mmap] PASS
STDERR:
interposing-calls/interpose-register_grate.c
Success
STDOUT:
[Grate|interpose-register] Registering register_handler for cage 2 in grate 1 with fn ptr addr: 4
[cage] registering 107. grateid: 2 cageid: 3
[Grate|interpose-register] Handling function ptr: 4 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|geteuid] Registering geteuid handler for cage 1 in grate 1 with fn ptr addr: 3
[Grate|interpose-register] Handling function ptr: 3 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|interpose-register] PASS
STDERR:
multi-register_grate.c
Success
STDOUT:
[Grate|multi-register_grate] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|multi-register_grate] Registering getuid handler for cage 2 in grate 1 with fn ptr addr: 4
[Grate|multi-register_grate] Handling function ptr: 3 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Grate|multi-register_grate] Handling function ptr: 4 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Cage | multi-register] PASS: geteuid=10, getuid=20
[Grate|multi-register] PASS
STDERR:
simple-tests/cpdata_grate.c
Success
STDOUT:
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10
STDERR:
simple-tests/diff-cage-args_grate.c
Success
STDOUT:
[Grate|diff-cage-args] Handling function ptr: 3 from cage: 1
[Grate|diff-cage-args] In open_grate 1 handler for cage: 1
Hello world. FD=-1
[Grate|diff-cage-args] Handling function ptr: 4 from cage: 1
Goodbye world! ret=4321 buf=helloworld
[Grate|diff-cage-args] PASS
STDERR:
simple-tests/geteuid_grate.c
Success
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|geteuid] Handling function ptr: 3 from cage: 1
[Grate|geteuid] In geteuid_grate 1 handler for cage: 1
[Cage | geteuid] PASS: geteuid ret = 10
[Grate|geteuid] PASS
STDERR:
static harness
Test Report
Deterministic Tests
Summary
Metric
Count
Total Test Cases
3
Number of Successes
3
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
Test Results by Category
Test Case
Status
Error Type
Native Time
Wasm Time
Output
Static Tests
fork_simple.c
Success
None
0.054786s
4.399135s
Success
thread.c
Success
None
0.047642s
4.469698s
Success
tls_test.c
Success
None
0.055570s
4.509513s
Success
Fail Tests
Summary
Metric
Count
Total Test Cases
0
Number of Successes
0
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
wasm harness
Test Report
Deterministic Tests
Summary
Metric
Count
Total Test Cases
208
Number of Successes
208
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
Test Results by Category
Test Case
Status
Error Type
Native Time
Wasm Time
Output
File Tests
chartests.c
Success
None
0.049644s
0.146448s
Success
chdir_getcwd.c
Success
None
0.051019s
0.100577s
Success
chmod.c
Success
None
0.056000s
0.105919s
Success
clock_gettime_highlevel.c
Success
None
0.120753s
0.274836s
Success
clock_gettime_simple.c
Success
None
0.046086s
0.091323s
Success
cloexec.c
Success
None
0.054706s
0.108533s
Success
close.c
Success
None
0.062277s
0.124400s
Success
creat_access.c
Success
None
0.055892s
0.100916s
Success
doubleclose.c
Success
None
0.045210s
0.084440s
Success
dup.c
Success
None
0.045949s
0.100169s
Success
dup2.c
Success
None
0.052333s
0.097839s
Success
dup3.c
Success
None
0.050593s
0.098736s
Success
dupwrite.c
Success
None
0.053462s
0.096204s
Success
etc_conf.c
Success
None
0.048610s
0.104722s
Success
fchdir.c
Success
None
0.055716s
0.108183s
Success
fchmod.c
Success
None
0.057153s
0.108705s
Success
fcntl.c
Success
None
0.053325s
0.107472s
Success
fdatasync.c
Success
None
0.052858s
0.097514s
Success
filetest.c
Success
None
0.053446s
0.096091s
Success
filetest1000.c
Success
None
0.060834s
0.110767s
Success
flock.c
Success
None
0.063304s
0.130550s
Success
fstat.c
Success
None
0.055444s
0.105836s
Success
fstatfs.c
Success
None
0.048517s
0.091931s
Success
fsync.c
Success
None
0.052666s
0.095940s
Success
ftruncate.c
Success
None
0.057443s
0.223369s
Success
getcwd.c
Success
None
0.049796s
0.093155s
Success
getpgid.c
Success
None
0.047240s
0.088447s
Success
getrandom.c
Success
None
0.052761s
0.100138s
Success
ioctl.c
Success
None
0.056874s
0.105524s
Success
link.c
Success
None
0.057342s
0.155680s
Success
locale_test.c
Success
None
0.066642s
0.626500s
Success
lseek.c
Success
None
0.058541s
0.214769s
Success
lstat.c
Success
None
0.056955s
0.115892s
Success
mkdir_rmdir.c
Success
None
0.054457s
0.099043s
Success
mkfifo_test.c
Success
None
0.059260s
0.136238s
Success
mknod.c
Success
None
0.051660s
0.107324s
Success
nocancel_io.c
Success
None
0.057860s
0.127690s
Success
open.c
Success
None
0.047856s
0.088174s
Success
openat.c
Success
None
0.049007s
0.095880s
Success
path_conversion_safety.c
Success
None
0.059823s
0.124116s
Success
ppoll.c
Success
None
0.058097s
0.110633s
Success
pread_pwrite.c
Success
None
0.049750s
0.110507s
Success
preadv_pwritev.c
Success
None
0.056328s
0.115825s
Success
printf.c
Success
None
0.045305s
0.082904s
Success
prlimit64.c
Success
None
0.045949s
0.092099s
Success
read.c
Success
None
0.054718s
0.106013s
Success
readbytes.c
Success
None
0.049738s
0.093114s
Success
readdir_basic.c
Success
None
0.057476s
0.119236s
Success
readlink.c
Success
None
0.053978s
0.104089s
Success
readlinkat.c
Success
None
0.054949s
0.110647s
Success
readv_writev_test.c
Success
None
0.055019s
0.109546s
Success
rename.c
Success
None
0.065508s
0.116352s
Success
sc-writev.c
Success
None
0.051067s
0.097031s
Success
stat.c
Success
None
0.054537s
0.104846s
Success
statfs.c
Success
None
0.047604s
0.092825s
Success
symlink.c
Success
None
0.056195s
0.131471s
Success
sync_file_range.c
Success
None
0.051380s
0.096251s
Success
timespec_time_t_compat.c
Success
None
0.050055s
0.092715s
Success
truncate.c
Success
None
0.057303s
0.108718s
Success
unlink.c
Success
None
0.056613s
0.146172s
Success
unlinkat.c
Success
None
0.055945s
0.116940s
Success
write.c
Success
None
0.046713s
0.086019s
Success
writeloop.c
Success
None
0.056721s
0.097487s
Success
writepartial.c
Success
None
0.055103s
0.096148s
Success
writev.c
Success
None
0.054261s
0.107744s
Success
Math Tests
math_link_smoke.c
Success
None
0.056628s
0.093104s
Success
math_tests.c
Success
None
0.061241s
0.112651s
Success
Memory Tests
brk.c
Success
None
0.051405s
0.097320s
Success
fork_large_memory.c
Success
None
0.084602s
0.343909s
Success
malloc.c
Success
None
0.048903s
0.089480s
Success
malloc_large.c
Success
None
0.050501s
0.094462s
Success
memcpy.c
Success
None
0.048415s
0.088437s
Success
memory_error_test.c
Success
None
0.056483s
0.130365s
Success
mmap.c
Success
None
0.045461s
0.089100s
Success
mmap_aligned.c
Success
None
0.048421s
0.107409s
Success
mmap_complicated.c
Success
None
0.054597s
0.109403s
Success
mmap_file.c
Success
None
0.054661s
0.100901s
Success
mmap_shared.c
Success
None
0.052826s
0.104405s
Success
mmaptest.c
Success
None
0.049997s
0.094137s
Success
mprotect.c
Success
None
0.048718s
0.090306s
Success
mprotect_boundary.c
Success
None
0.048829s
0.107132s
Success
mprotect_end_region.c
Success
None
0.047108s
0.099656s
Success
mprotect_middle_region.c
Success
None
0.047202s
0.101487s
Success
mprotect_multiple_times.c
Success
None
0.049070s
0.100241s
Success
mprotect_same_value.c
Success
None
0.046782s
0.093761s
Success
mprotect_spanning_regions.c
Success
None
0.047748s
0.114061s
Success
munmap_adjacent_shm.c
Success
None
0.049264s
0.104875s
Success
sbrk.c
Success
None
0.048824s
0.092580s
Success
segfault.c
Success
None
0.055018s
0.115385s
Success
shm.c
Success
None
0.053852s
0.108098s
Success
shmtest.c
Success
None
0.048142s
0.095788s
Success
thread_malloc_sequential.c
Success
None
0.055510s
0.119466s
Success
vtable.c
Success
None
0.059693s
0.111922s
Success
Networking Tests
accept4.c
Success
None
0.060123s
0.115851s
Success
dns_resolve_test.c
Success
None
0.052369s
0.100498s
Success
dnstest.c
Success
None
0.053350s
0.108222s
Success
epoll_edge_triggered.c
Success
None
0.211327s
0.460709s
Success
epollcreate1.c
Success
None
0.054453s
0.108339s
Success
error_handling_net.c
Success
None
0.062180s
0.218534s
Success
getaddrinfo_test.c
Success
None
0.056887s
0.141928s
Success
getaddrinfo_unspec.c
Success
None
0.057925s
0.144448s
Success
gethostname.c
Success
None
0.046616s
0.086702s
Success
getifaddrs.c
Success
None
0.056139s
0.099553s
Success
getsockname.c
Success
None
0.059600s
0.102576s
Success
getsockopt.c
Success
None
0.057585s
0.152926s
Success
ipv6_basic.c
Success
None
0.059263s
0.148163s
Success
makepipe.c
Success
None
0.047041s
0.085071s
Success
nonblocking_eagain.c
Success
None
0.059039s
0.162545s
Success
pipe.c
Success
None
0.056953s
0.109604s
Success
pipe2.c
Success
None
0.056600s
0.102869s
Success
pipeinput.c
Success
None
0.057418s
0.119693s
Success
pipeinput2.c
Success
None
0.057323s
0.121154s
Success
pipeonestring.c
Success
None
0.058250s
0.119710s
Success
pipepong.c
Success
None
0.056385s
0.121880s
Success
pipewrite.c
Success
None
0.049606s
0.100406s
Success
poll.c
Success
None
0.054459s
0.095686s
Success
recvfrom-sendto.c
Success
None
0.056104s
0.107408s
Success
sendmsg_recvmsg_test.c
Success
None
0.055775s
0.109334s
Success
serverclient.c
Success
None
0.054886s
0.106216s
Success
shutdown.c
Success
None
0.057042s
0.103155s
Success
shutdown_fork.c
Success
None
0.054937s
0.107608s
Success
simple-select.c
Success
None
0.056535s
0.121206s
Success
simple_epoll.c
Success
None
0.054938s
0.104633s
Success
socket.c
Success
None
0.053029s
0.095870s
Success
socket_cloexec.c
Success
None
0.052889s
0.095952s
Success
socket_options_advanced.c
Success
None
0.059887s
0.177617s
Success
socketepoll.c
Success
None
0.054227s
0.097568s
Success
socketpair.c
Success
None
0.052479s
0.102733s
Success
socketselect.c
Success
None
0.054259s
0.104689s
Success
udp_send_recv.c
Success
None
0.161219s
0.262701s
Success
uds-getsockname.c
Success
None
0.054936s
0.099492s
Success
uds-nb-select.c
Success
None
2.063240s
2.149920s
Success
uds-serverclient.c
Success
None
0.059446s
0.127090s
Success
uds-socketselect.c
Success
None
0.054656s
0.105500s
Success
writev_socket.c
Success
None
0.057622s
0.140156s
Success
Process Tests
barrier_test.c
Success
None
0.052739s
0.100961s
Success
chain_thread.c
Success
None
1.056618s
1.106981s
Success
ctor_syscall_test.c
Success
None
0.043918s
0.086154s
Success
cxa_atexit_test.c
Success
None
0.049068s
0.089989s
Success
execve_shebang.c
Success
None
0.054245s
0.097012s
Success
exit.c
Success
None
0.050859s
0.087735s
Success
exit_failure.c
Success
None
0.054269s
0.100243s
Success
exit_group_thread.c
Success
None
0.054449s
0.106724s
Success
flockfile_test.c
Success
None
0.054461s
0.108507s
Success
fork2malloc.c
Success
None
0.054637s
0.105709s
Success
fork_select.c
Success
None
0.053741s
0.110991s
Success
fork_simple.c
Success
None
0.050872s
0.097672s
Success
fork_syscall.c
Success
None
0.057191s
0.226207s
Success
fork_tls_ctype.c
Success
None
0.056201s
0.126001s
Success
forkandopen.c
Success
None
0.054675s
0.114327s
Success
forkdup.c
Success
None
0.056199s
0.106268s
Success
forkexecuid.c
Success
None
0.053151s
0.114306s
Success
forkexecv-arg.c
Success
None
0.054078s
0.103243s
Success
forkexecv.c
Success
None
0.051170s
0.100548s
Success
forkfiles.c
Success
None
0.054259s
0.109821s
Success
forkmalloc.c
Success
None
0.055269s
0.102267s
Success
forknodup.c
Success
None
0.054534s
0.111580s
Success
function-ptr.c
Success
None
0.048361s
0.089772s
Success
getegid_syscall.c
Success
None
0.054316s
0.186574s
Success
getgid_syscall.c
Success
None
0.054884s
0.193416s
Success
getpid.c
Success
None
0.046103s
0.086509s
Success
getpid_syscall.c
Success
None
0.056780s
0.203961s
Success
getppid.c
Success
None
0.053722s
0.100346s
Success
getppid_syscall.c
Success
None
0.056559s
0.168335s
Success
getuid.c
Success
None
0.054631s
0.096472s
Success
getuid_syscall.c
Success
None
0.053000s
0.136100s
Success
hello-arg.c
Success
None
0.045197s
0.084180s
Success
hello.c
Success
None
0.045956s
0.082791s
Success
longjmp.c
Success
None
0.044518s
0.087138s
Success
mutex.c
Success
None
2.057735s
2.105451s
Success
printf_deadlock_smoke.c
Success
None
0.062485s
0.129949s
Success
printf_thread_test.c
Success
None
0.052531s
0.107263s
Success
sem_forks.c
Success
None
0.057297s
0.113970s
Success
setsid.c
Success
None
0.048149s
0.084486s
Success
template.c
Success
None
0.054733s
0.122372s
Success
test_exec_nofork.c
Success
None
0.055283s
0.100710s
Success
test_unlink_open_file.c
Success
None
0.048176s
0.088142s
Success
thread-guard.c
Success
None
0.051654s
0.101232s
Success
thread-test.c
Success
None
0.049591s
0.094729s
Success
thread.c
Success
None
0.048508s
0.091412s
Success
thread_cageid_race.c
Success
None
0.049566s
0.112351s
Success
tls_test.c
Success
None
0.051999s
0.102763s
Success
uname.c
Success
None
0.046076s
0.085129s
Success
wait.c
Success
None
2.051713s
2.100761s
Success
waitpid_anychild.c
Success
None
0.056018s
0.101756s
Success
waitpid_syscall.c
Success
None
1.053758s
1.130484s
Success
waitpid_wnohang.c
Success
None
0.053125s
0.101707s
Success
Signal Tests
alarm.c
Success
None
7.053138s
7.124740s
Success
eintr_fork_signal.c
Success
None
1.057061s
1.115241s
Success
kill.c
Success
None
1.054163s
1.105078s
Success
setitimer.c
Success
None
7.054357s
7.131554s
Success
sigalrm.c
Success
None
2.054657s
2.110995s
Success
sigaltstack.c
Success
None
0.056545s
0.106944s
Success
sigchld.c
Success
None
1.057046s
1.101765s
Success
signal-fork.c
Success
None
4.056163s
4.105936s
Success
signal-simple.c
Success
None
0.055532s
0.100358s
Success
signal_SIGCHLD.c
Success
None
0.054313s
0.106627s
Success
signal_fork.c
Success
None
0.050617s
0.106467s
Success
signal_int_ignored.c
Success
None
2.055791s
2.102889s
Success
signal_kill_cleanup.c
Success
None
1.052762s
1.100558s
Success
signal_procmask.c
Success
None
0.048507s
0.095816s
Success
signal_read_interrupt.c
Success
None
0.558557s
0.611915s
Success
signal_recursive.c
Success
None
0.049155s
0.099209s
Success
signal_sa_mask.c
Success
None
0.048333s
0.095098s
Success
signal_select_interrupt.c
Success
None
0.559268s
0.614795s
Success
signal_write_interrupt.c
Success
None
1.057205s
1.114498s
Success
sigpipe.c
Success
None
1.056835s
1.110749s
Success
sigprocmask.c
Success
None
1.054277s
1.101261s
Success
Fail Tests
Summary
Metric
Count
Total Test Cases
4
Number of Successes
4
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Cage | geteuid] PASS: 1000000 calls returned 10
[Grate|geteuid] PASS
STDERR:
concurrent-request/race-test_grate.c
Success
STDOUT:
pass
STDERR:
concurrent-request/thread_race_grate.c
Success
STDOUT:
[thread_race] Registering handler for cage 2 in grate 1 with fn ptr addr: 3
[thread_race] PASS: 20 threads x 100000 calls returned 10
[thread_race] PASS
STDERR:
interposing-calls/interpose-exec_grate.c
Success
STDOUT:
[Grate|interpose-exec] Registering exec handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
Exec successful, argv[1]: --execd
[Grate|interpose-exec] PASS
STDERR:
interposing-calls/interpose-exit_grate.c
Success
STDOUT:
[Grate|interpose-exit] Registering exit handler for cage 2 in grate 1 with fn ptr addr: 3
Exiting...
[Grate|interpose-exit] PASS
STDERR:
interposing-calls/interpose-fork_grate.c
Success
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-fork] Handling function ptr: 3 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Grate|interpose-fork] PASS
STDERR:
interposing-calls/interpose-mmap_grate.c
Success
STDOUT:
[Grate|interpose-mmap] Registering mmap handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
mmap test: PASS
[Grate|interpose-mmap] PASS
STDERR:
interposing-calls/interpose-register_grate.c
Success
STDOUT:
[Grate|interpose-register] Registering register_handler for cage 2 in grate 1 with fn ptr addr: 4
[cage] registering 107. grateid: 2 cageid: 3
[Grate|interpose-register] Handling function ptr: 4 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|geteuid] Registering geteuid handler for cage 1 in grate 1 with fn ptr addr: 3
[Grate|interpose-register] Handling function ptr: 3 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|interpose-register] PASS
STDERR:
multi-register_grate.c
Success
STDOUT:
[Grate|multi-register_grate] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|multi-register_grate] Registering getuid handler for cage 2 in grate 1 with fn ptr addr: 4
[Grate|multi-register_grate] Handling function ptr: 3 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Grate|multi-register_grate] Handling function ptr: 4 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Cage | multi-register] PASS: geteuid=10, getuid=20
[Grate|multi-register] PASS
STDERR:
simple-tests/cpdata_grate.c
Success
STDOUT:
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10
STDERR:
simple-tests/diff-cage-args_grate.c
Success
STDOUT:
[Grate|diff-cage-args] Handling function ptr: 3 from cage: 1
[Grate|diff-cage-args] In open_grate 1 handler for cage: 1
Hello world. FD=-1
[Grate|diff-cage-args] Handling function ptr: 4 from cage: 1
Goodbye world! ret=4321 buf=helloworld
[Grate|diff-cage-args] PASS
STDERR:
simple-tests/geteuid_grate.c
Success
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|geteuid] Handling function ptr: 3 from cage: 1
[Grate|geteuid] In geteuid_grate 1 handler for cage: 1
[Cage | geteuid] PASS: geteuid ret = 10
[Grate|geteuid] PASS
STDERR:
static harness
Test Report
Deterministic Tests
Summary
Metric
Count
Total Test Cases
3
Number of Successes
3
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
Test Results by Category
Test Case
Status
Error Type
Native Time
Wasm Time
Output
Static Tests
fork_simple.c
Success
None
0.053840s
4.383470s
Success
thread.c
Success
None
0.045035s
4.423261s
Success
tls_test.c
Success
None
0.059379s
4.459503s
Success
Fail Tests
Summary
Metric
Count
Total Test Cases
0
Number of Successes
0
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
wasm harness
Test Report
Deterministic Tests
Summary
Metric
Count
Total Test Cases
208
Number of Successes
208
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
Test Results by Category
Test Case
Status
Error Type
Native Time
Wasm Time
Output
File Tests
chartests.c
Success
None
0.046450s
0.138050s
Success
chdir_getcwd.c
Success
None
0.046834s
0.102062s
Success
chmod.c
Success
None
0.054787s
0.101384s
Success
clock_gettime_highlevel.c
Success
None
0.117243s
0.270902s
Success
clock_gettime_simple.c
Success
None
0.040415s
0.083133s
Success
cloexec.c
Success
None
0.051414s
0.103055s
Success
close.c
Success
None
0.057586s
0.114397s
Success
creat_access.c
Success
None
0.059407s
0.100342s
Success
doubleclose.c
Success
None
0.042154s
0.078497s
Success
dup.c
Success
None
0.043290s
0.092341s
Success
dup2.c
Success
None
0.047898s
0.090488s
Success
dup3.c
Success
None
0.045918s
0.092037s
Success
dupwrite.c
Success
None
0.048667s
0.089748s
Success
etc_conf.c
Success
None
0.045327s
0.098634s
Success
fchdir.c
Success
None
0.052858s
0.102886s
Success
fchmod.c
Success
None
0.051070s
0.098566s
Success
fcntl.c
Success
None
0.048782s
0.099583s
Success
fdatasync.c
Success
None
0.049098s
0.090218s
Success
filetest.c
Success
None
0.048960s
0.087996s
Success
filetest1000.c
Success
None
0.058094s
0.105003s
Success
flock.c
Success
None
0.058174s
0.122463s
Success
fstat.c
Success
None
0.050917s
0.099616s
Success
fstatfs.c
Success
None
0.043967s
0.086172s
Success
fsync.c
Success
None
0.048437s
0.088934s
Success
ftruncate.c
Success
None
0.053628s
0.210135s
Success
getcwd.c
Success
None
0.045681s
0.085657s
Success
getpgid.c
Success
None
0.043582s
0.082639s
Success
getrandom.c
Success
None
0.048935s
0.094355s
Success
ioctl.c
Success
None
0.052773s
0.098751s
Success
link.c
Success
None
0.054201s
0.146215s
Success
locale_test.c
Success
None
0.063557s
0.580911s
Success
lseek.c
Success
None
0.053641s
0.204163s
Success
lstat.c
Success
None
0.053175s
0.108080s
Success
mkdir_rmdir.c
Success
None
0.050920s
0.092085s
Success
mkfifo_test.c
Success
None
0.055187s
0.131939s
Success
mknod.c
Success
None
0.049583s
0.102257s
Success
nocancel_io.c
Success
None
0.052806s
0.120527s
Success
open.c
Success
None
0.044214s
0.082678s
Success
openat.c
Success
None
0.044606s
0.089708s
Success
path_conversion_safety.c
Success
None
0.056624s
0.118112s
Success
ppoll.c
Success
None
0.054078s
0.102594s
Success
pread_pwrite.c
Success
None
0.046370s
0.100351s
Success
preadv_pwritev.c
Success
None
0.051587s
0.106765s
Success
printf.c
Success
None
0.041754s
0.078953s
Success
prlimit64.c
Success
None
0.043549s
0.085341s
Success
read.c
Success
None
0.050360s
0.098994s
Success
readbytes.c
Success
None
0.046054s
0.087001s
Success
readdir_basic.c
Success
None
0.053233s
0.110123s
Success
readlink.c
Success
None
0.050362s
0.097382s
Success
readlinkat.c
Success
None
0.052267s
0.103969s
Success
readv_writev_test.c
Success
None
0.050767s
0.102964s
Success
rename.c
Success
None
0.052490s
0.099758s
Success
sc-writev.c
Success
None
0.049246s
0.092952s
Success
stat.c
Success
None
0.051635s
0.097931s
Success
statfs.c
Success
None
0.044637s
0.086374s
Success
symlink.c
Success
None
0.052441s
0.125152s
Success
sync_file_range.c
Success
None
0.047403s
0.089641s
Success
timespec_time_t_compat.c
Success
None
0.047487s
0.087614s
Success
truncate.c
Success
None
0.050799s
0.103507s
Success
unlink.c
Success
None
0.052213s
0.137624s
Success
unlinkat.c
Success
None
0.052569s
0.110677s
Success
write.c
Success
None
0.042710s
0.079635s
Success
writeloop.c
Success
None
0.052648s
0.092354s
Success
writepartial.c
Success
None
0.051660s
0.088810s
Success
writev.c
Success
None
0.052148s
0.100769s
Success
Math Tests
math_link_smoke.c
Success
None
0.052366s
0.087545s
Success
math_tests.c
Success
None
0.058768s
0.107960s
Success
Memory Tests
brk.c
Success
None
0.047770s
0.092399s
Success
fork_large_memory.c
Success
None
0.081663s
0.327965s
Success
malloc.c
Success
None
0.046135s
0.081794s
Success
malloc_large.c
Success
None
0.045913s
0.087336s
Success
memcpy.c
Success
None
0.044912s
0.083961s
Success
memory_error_test.c
Success
None
0.052625s
0.124254s
Success
mmap.c
Success
None
0.042655s
0.083654s
Success
mmap_aligned.c
Success
None
0.044371s
0.100360s
Success
mmap_complicated.c
Success
None
0.051385s
0.103436s
Success
mmap_file.c
Success
None
0.049943s
0.094375s
Success
mmap_shared.c
Success
None
0.049230s
0.098281s
Success
mmaptest.c
Success
None
0.044824s
0.088266s
Success
mprotect.c
Success
None
0.044359s
0.083537s
Success
mprotect_boundary.c
Success
None
0.043685s
0.098886s
Success
mprotect_end_region.c
Success
None
0.043714s
0.090132s
Success
mprotect_middle_region.c
Success
None
0.043018s
0.093598s
Success
mprotect_multiple_times.c
Success
None
0.044079s
0.094348s
Success
mprotect_same_value.c
Success
None
0.043032s
0.088942s
Success
mprotect_spanning_regions.c
Success
None
0.044136s
0.108590s
Success
munmap_adjacent_shm.c
Success
None
0.046347s
0.098894s
Success
sbrk.c
Success
None
0.044760s
0.084217s
Success
segfault.c
Success
None
0.051471s
0.109677s
Success
shm.c
Success
None
0.049528s
0.101815s
Success
shmtest.c
Success
None
0.044510s
0.089463s
Success
thread_malloc_sequential.c
Success
None
0.051461s
0.110852s
Success
vtable.c
Success
None
0.055236s
0.105796s
Success
Networking Tests
accept4.c
Success
None
0.054816s
0.108691s
Success
dns_resolve_test.c
Success
None
0.049722s
0.093851s
Success
dnstest.c
Success
None
0.049497s
0.102240s
Success
epoll_edge_triggered.c
Success
None
0.208107s
0.440092s
Success
epollcreate1.c
Success
None
0.051976s
0.103618s
Success
error_handling_net.c
Success
None
0.060112s
0.204023s
Success
getaddrinfo_test.c
Success
None
0.054240s
0.136408s
Success
getaddrinfo_unspec.c
Success
None
0.053398s
0.114638s
Success
gethostname.c
Success
None
0.043523s
0.081240s
Success
getifaddrs.c
Success
None
0.052147s
0.094203s
Success
getsockname.c
Success
None
0.056376s
0.098210s
Success
getsockopt.c
Success
None
0.053703s
0.145288s
Success
ipv6_basic.c
Success
None
0.055042s
0.137682s
Success
makepipe.c
Success
None
0.042831s
0.080239s
Success
nonblocking_eagain.c
Success
None
0.055289s
0.154208s
Success
pipe.c
Success
None
0.052937s
0.101273s
Success
pipe2.c
Success
None
0.051985s
0.097559s
Success
pipeinput.c
Success
None
0.054627s
0.113235s
Success
pipeinput2.c
Success
None
0.053280s
0.112668s
Success
pipeonestring.c
Success
None
0.053458s
0.112496s
Success
pipepong.c
Success
None
0.052863s
0.114772s
Success
pipewrite.c
Success
None
0.046243s
0.095161s
Success
poll.c
Success
None
0.050473s
0.090219s
Success
recvfrom-sendto.c
Success
None
0.052855s
0.102173s
Success
sendmsg_recvmsg_test.c
Success
None
0.052296s
0.103391s
Success
serverclient.c
Success
None
0.051145s
0.098239s
Success
shutdown.c
Success
None
0.052594s
0.098148s
Success
shutdown_fork.c
Success
None
0.051491s
0.100811s
Success
simple-select.c
Success
None
0.052990s
0.113893s
Success
simple_epoll.c
Success
None
0.050867s
0.098245s
Success
socket.c
Success
None
0.049458s
0.089905s
Success
socket_cloexec.c
Success
None
0.049296s
0.090313s
Success
socket_options_advanced.c
Success
None
0.056217s
0.170051s
Success
socketepoll.c
Success
None
0.049519s
0.091516s
Success
socketpair.c
Success
None
0.048775s
0.097818s
Success
socketselect.c
Success
None
0.050089s
0.096737s
Success
udp_send_recv.c
Success
None
0.159089s
0.254159s
Success
uds-getsockname.c
Success
None
0.050722s
0.092138s
Success
uds-nb-select.c
Success
None
2.059580s
2.144556s
Success
uds-serverclient.c
Success
None
0.054935s
0.120622s
Success
uds-socketselect.c
Success
None
0.054221s
0.097018s
Success
writev_socket.c
Success
None
0.054968s
0.132918s
Success
Process Tests
barrier_test.c
Success
None
0.049080s
0.095074s
Success
chain_thread.c
Success
None
1.054949s
1.102355s
Success
ctor_syscall_test.c
Success
None
0.042670s
0.083094s
Success
cxa_atexit_test.c
Success
None
0.047207s
0.085969s
Success
execve_shebang.c
Success
None
0.051012s
0.092269s
Success
exit.c
Success
None
0.049436s
0.088822s
Success
exit_failure.c
Success
None
0.049519s
0.093040s
Success
exit_group_thread.c
Success
None
0.052871s
0.104526s
Success
flockfile_test.c
Success
None
0.051332s
0.104458s
Success
fork2malloc.c
Success
None
0.053132s
0.099916s
Success
fork_select.c
Success
None
0.049974s
0.106566s
Success
fork_simple.c
Success
None
0.049219s
0.092280s
Success
fork_syscall.c
Success
None
0.054066s
0.214589s
Success
fork_tls_ctype.c
Success
None
0.052642s
0.119703s
Success
forkandopen.c
Success
None
0.052259s
0.109551s
Success
forkdup.c
Success
None
0.058418s
0.103594s
Success
forkexecuid.c
Success
None
0.048744s
0.108013s
Success
forkexecv-arg.c
Success
None
0.049168s
0.097435s
Success
forkexecv.c
Success
None
0.048126s
0.094725s
Success
forkfiles.c
Success
None
0.051728s
0.105501s
Success
forkmalloc.c
Success
None
0.052858s
0.099798s
Success
forknodup.c
Success
None
0.052534s
0.109351s
Success
function-ptr.c
Success
None
0.047637s
0.086242s
Success
getegid_syscall.c
Success
None
0.051299s
0.181839s
Success
getgid_syscall.c
Success
None
0.054518s
0.189044s
Success
getpid.c
Success
None
0.044140s
0.082345s
Success
getpid_syscall.c
Success
None
0.053845s
0.203155s
Success
getppid.c
Success
None
0.051251s
0.097644s
Success
getppid_syscall.c
Success
None
0.054930s
0.167730s
Success
getuid.c
Success
None
0.051425s
0.093052s
Success
getuid_syscall.c
Success
None
0.049676s
0.129445s
Success
hello-arg.c
Success
None
0.042423s
0.082510s
Success
hello.c
Success
None
0.041218s
0.077332s
Success
longjmp.c
Success
None
0.042787s
0.084624s
Success
mutex.c
Success
None
2.053372s
2.099270s
Success
printf_deadlock_smoke.c
Success
None
0.059432s
0.123725s
Success
printf_thread_test.c
Success
None
0.048806s
0.101012s
Success
sem_forks.c
Success
None
0.053472s
0.108419s
Success
setsid.c
Success
None
0.044256s
0.085364s
Success
template.c
Success
None
0.050255s
0.112913s
Success
test_exec_nofork.c
Success
None
0.048829s
0.095058s
Success
test_unlink_open_file.c
Success
None
0.046846s
0.085945s
Success
thread-guard.c
Success
None
0.047917s
0.095670s
Success
thread-test.c
Success
None
0.045813s
0.086832s
Success
thread.c
Success
None
0.045984s
0.088044s
Success
thread_cageid_race.c
Success
None
0.046265s
0.107020s
Success
tls_test.c
Success
None
0.050340s
0.100639s
Success
uname.c
Success
None
0.045350s
0.082558s
Success
wait.c
Success
None
2.049252s
2.098027s
Success
waitpid_anychild.c
Success
None
0.052274s
0.098847s
Success
waitpid_syscall.c
Success
None
1.050624s
1.125634s
Success
waitpid_wnohang.c
Success
None
0.052135s
0.100521s
Success
Signal Tests
alarm.c
Success
None
7.049868s
7.117921s
Success
eintr_fork_signal.c
Success
None
1.052141s
1.107850s
Success
kill.c
Success
None
1.049786s
1.097716s
Success
setitimer.c
Success
None
7.051532s
7.127853s
Success
sigalrm.c
Success
None
2.051539s
2.105727s
Success
sigaltstack.c
Success
None
0.053304s
0.101659s
Success
sigchld.c
Success
None
1.052010s
1.096214s
Success
signal-fork.c
Success
None
4.052797s
4.099832s
Success
signal-simple.c
Success
None
0.051902s
0.094275s
Success
signal_SIGCHLD.c
Success
None
0.048826s
0.098361s
Success
signal_fork.c
Success
None
0.047468s
0.098730s
Success
signal_int_ignored.c
Success
None
2.050768s
2.098266s
Success
signal_kill_cleanup.c
Success
None
1.049102s
1.095773s
Success
signal_procmask.c
Success
None
0.044991s
0.090185s
Success
signal_read_interrupt.c
Success
None
0.554259s
0.604758s
Success
signal_recursive.c
Success
None
0.046023s
0.093160s
Success
signal_sa_mask.c
Success
None
0.044737s
0.090368s
Success
signal_select_interrupt.c
Success
None
0.555509s
0.606463s
Success
signal_write_interrupt.c
Success
None
1.053683s
1.107334s
Success
sigpipe.c
Success
None
1.053278s
1.103649s
Success
sigprocmask.c
Success
None
1.050269s
1.096736s
Success
Fail Tests
Summary
Metric
Count
Total Test Cases
4
Number of Successes
4
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Cage | geteuid] PASS: 1000000 calls returned 10
[Grate|geteuid] PASS
STDERR:
concurrent-request/race-test_grate.c
Success
STDOUT:
pass
STDERR:
concurrent-request/thread_race_grate.c
Success
STDOUT:
[thread_race] Registering handler for cage 2 in grate 1 with fn ptr addr: 3
[thread_race] PASS: 20 threads x 100000 calls returned 10
[thread_race] PASS
STDERR:
interposing-calls/interpose-exec_grate.c
Success
STDOUT:
[Grate|interpose-exec] Registering exec handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
[Grate|interpose-exec] Handling function ptr: 3 from cage: 1
[Grate|interpose-exec] In exec_grate 1 handler for cage: 1
Exec successful, argv[1]: --execd
[Grate|interpose-exec] PASS
STDERR:
interposing-calls/interpose-exit_grate.c
Success
STDOUT:
[Grate|interpose-exit] Registering exit handler for cage 2 in grate 1 with fn ptr addr: 3
Exiting...
[Grate|interpose-exit] PASS
STDERR:
interposing-calls/interpose-fork_grate.c
Success
STDOUT:
[Grate|interpose-fork] Registering fork handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-fork] Handling function ptr: 3 from cage: 1
[Grate|interpose-fork] In fork_grate 1 handler for cage: 1
[Grate|interpose-fork] PASS
STDERR:
interposing-calls/interpose-mmap_grate.c
Success
STDOUT:
[Grate|interpose-mmap] Registering mmap handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
[Grate|interpose-mmap] Handling function ptr: 3 from cage: 1
[Grate|interpose-mmap] In mmap_grate 1 handler for cage: 1
mmap test: PASS
[Grate|interpose-mmap] PASS
STDERR:
interposing-calls/interpose-register_grate.c
Success
STDOUT:
[Grate|interpose-register] Registering register_handler for cage 2 in grate 1 with fn ptr addr: 4
[cage] registering 107. grateid: 2 cageid: 3
[Grate|interpose-register] Handling function ptr: 4 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|geteuid] Registering geteuid handler for cage 1 in grate 1 with fn ptr addr: 3
[Grate|interpose-register] Handling function ptr: 3 from cage: 1
[Grate|interpose-register] In register_grate 1 handler for cage: 1
[Grate|interpose-register] PASS
STDERR:
multi-register_grate.c
Success
STDOUT:
[Grate|multi-register_grate] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|multi-register_grate] Registering getuid handler for cage 2 in grate 1 with fn ptr addr: 4
[Grate|multi-register_grate] Handling function ptr: 3 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Grate|multi-register_grate] Handling function ptr: 4 from cage: 1
[Grate|multi-register_grate] In multi-register_grate 1 handler for cage: 1
[Cage | multi-register] PASS: geteuid=10, getuid=20
[Grate|multi-register] PASS
STDERR:
simple-tests/cpdata_grate.c
Success
STDOUT:
[Grate|open] intercepts open call: thiscage=1, arg1cage=2
[Grate|open] copied pathname: random
[cage] fd=10
STDERR:
simple-tests/diff-cage-args_grate.c
Success
STDOUT:
[Grate|diff-cage-args] Handling function ptr: 3 from cage: 1
[Grate|diff-cage-args] In open_grate 1 handler for cage: 1
Hello world. FD=-1
[Grate|diff-cage-args] Handling function ptr: 4 from cage: 1
Goodbye world! ret=4321 buf=helloworld
[Grate|diff-cage-args] PASS
STDERR:
simple-tests/geteuid_grate.c
Success
STDOUT:
[Grate|geteuid] Registering geteuid handler for cage 2 in grate 1 with fn ptr addr: 3
[Grate|geteuid] Handling function ptr: 3 from cage: 1
[Grate|geteuid] In geteuid_grate 1 handler for cage: 1
[Cage | geteuid] PASS: geteuid ret = 10
[Grate|geteuid] PASS
STDERR:
static harness
Test Report
Deterministic Tests
Summary
Metric
Count
Total Test Cases
3
Number of Successes
3
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
Test Results by Category
Test Case
Status
Error Type
Native Time
Wasm Time
Output
Static Tests
fork_simple.c
Success
None
0.052629s
4.337399s
Success
thread.c
Success
None
0.044903s
4.396944s
Success
tls_test.c
Success
None
0.051917s
4.407043s
Success
Fail Tests
Summary
Metric
Count
Total Test Cases
0
Number of Successes
0
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
wasm harness
Test Report
Deterministic Tests
Summary
Metric
Count
Total Test Cases
208
Number of Successes
208
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
0
Test Results by Category
Test Case
Status
Error Type
Native Time
Wasm Time
Output
File Tests
chartests.c
Success
None
0.046183s
0.137770s
Success
chdir_getcwd.c
Success
None
0.048246s
0.095284s
Success
chmod.c
Success
None
0.053016s
0.100036s
Success
clock_gettime_highlevel.c
Success
None
0.117811s
0.269733s
Success
clock_gettime_simple.c
Success
None
0.042220s
0.085013s
Success
cloexec.c
Success
None
0.052233s
0.106768s
Success
close.c
Success
None
0.058255s
0.113896s
Success
creat_access.c
Success
None
0.050681s
0.094514s
Success
doubleclose.c
Success
None
0.042408s
0.078943s
Success
dup.c
Success
None
0.043287s
0.093482s
Success
dup2.c
Success
None
0.049755s
0.094951s
Success
dup3.c
Success
None
0.046509s
0.092541s
Success
dupwrite.c
Success
None
0.050137s
0.090676s
Success
etc_conf.c
Success
None
0.044862s
0.098585s
Success
fchdir.c
Success
None
0.052626s
0.103074s
Success
fchmod.c
Success
None
0.052461s
0.102082s
Success
fcntl.c
Success
None
0.048683s
0.098957s
Success
fdatasync.c
Success
None
0.048937s
0.088268s
Success
filetest.c
Success
None
0.049431s
0.090560s
Success
filetest1000.c
Success
None
0.058512s
0.107712s
Success
flock.c
Success
None
0.057573s
0.122532s
Success
fstat.c
Success
None
0.051353s
0.099031s
Success
fstatfs.c
Success
None
0.044456s
0.086795s
Success
fsync.c
Success
None
0.049006s
0.090445s
Success
ftruncate.c
Success
None
0.054193s
0.212745s
Success
getcwd.c
Success
None
0.046328s
0.086537s
Success
getpgid.c
Success
None
0.043466s
0.081118s
Success
getrandom.c
Success
None
0.050022s
0.097866s
Success
ioctl.c
Success
None
0.051749s
0.096185s
Success
link.c
Success
None
0.052900s
0.147636s
Success
locale_test.c
Success
None
0.063079s
0.578769s
Success
lseek.c
Success
None
0.055572s
0.203829s
Success
lstat.c
Success
None
0.053718s
0.109456s
Success
mkdir_rmdir.c
Success
None
0.050519s
0.093912s
Success
mkfifo_test.c
Success
None
0.055966s
0.129009s
Success
mknod.c
Success
None
0.050248s
0.104176s
Success
nocancel_io.c
Success
None
0.053510s
0.120370s
Success
open.c
Success
None
0.044590s
0.082803s
Success
openat.c
Success
None
0.046826s
0.092081s
Success
path_conversion_safety.c
Success
None
0.055734s
0.121136s
Success
ppoll.c
Success
None
0.053720s
0.105347s
Success
pread_pwrite.c
Success
None
0.048877s
0.103066s
Success
preadv_pwritev.c
Success
None
0.053342s
0.108390s
Success
printf.c
Success
None
0.042769s
0.079707s
Success
prlimit64.c
Success
None
0.042921s
0.084270s
Success
read.c
Success
None
0.050337s
0.098360s
Success
readbytes.c
Success
None
0.046656s
0.086026s
Success
readdir_basic.c
Success
None
0.054163s
0.112457s
Success
readlink.c
Success
None
0.050096s
0.097809s
Success
readlinkat.c
Success
None
0.053392s
0.105684s
Success
readv_writev_test.c
Success
None
0.051430s
0.104082s
Success
rename.c
Success
None
0.052725s
0.095676s
Success
sc-writev.c
Success
None
0.048264s
0.092615s
Success
stat.c
Success
None
0.050752s
0.097430s
Success
statfs.c
Success
None
0.044046s
0.086064s
Success
symlink.c
Success
None
0.052430s
0.123981s
Success
sync_file_range.c
Success
None
0.047551s
0.089914s
Success
timespec_time_t_compat.c
Success
None
0.047361s
0.085456s
Success
truncate.c
Success
None
0.052275s
0.104177s
Success
unlink.c
Success
None
0.052512s
0.135302s
Success
unlinkat.c
Success
None
0.051854s
0.109779s
Success
write.c
Success
None
0.043225s
0.079525s
Success
writeloop.c
Success
None
0.052758s
0.090696s
Success
writepartial.c
Success
None
0.050331s
0.088452s
Success
writev.c
Success
None
0.052320s
0.100277s
Success
Math Tests
math_link_smoke.c
Success
None
0.053604s
0.088064s
Success
math_tests.c
Success
None
0.057415s
0.106508s
Success
Memory Tests
brk.c
Success
None
0.048390s
0.095915s
Success
fork_large_memory.c
Success
None
0.083763s
0.338331s
Success
malloc.c
Success
None
0.048035s
0.086277s
Success
malloc_large.c
Success
None
0.047156s
0.090865s
Success
memcpy.c
Success
None
0.045259s
0.084146s
Success
memory_error_test.c
Success
None
0.056081s
0.127323s
Success
mmap.c
Success
None
0.042882s
0.084218s
Success
mmap_aligned.c
Success
None
0.045604s
0.101735s
Success
mmap_complicated.c
Success
None
0.051894s
0.113405s
Success
mmap_file.c
Success
None
0.052082s
0.095991s
Success
mmap_shared.c
Success
None
0.049857s
0.098431s
Success
mmaptest.c
Success
None
0.046996s
0.091146s
Success
mprotect.c
Success
None
0.046731s
0.087287s
Success
mprotect_boundary.c
Success
None
0.044076s
0.100473s
Success
mprotect_end_region.c
Success
None
0.043724s
0.091254s
Success
mprotect_middle_region.c
Success
None
0.045169s
0.097551s
Success
mprotect_multiple_times.c
Success
None
0.044436s
0.094193s
Success
mprotect_same_value.c
Success
None
0.043602s
0.090313s
Success
mprotect_spanning_regions.c
Success
None
0.045093s
0.108771s
Success
munmap_adjacent_shm.c
Success
None
0.045985s
0.098684s
Success
sbrk.c
Success
None
0.047208s
0.089251s
Success
segfault.c
Success
None
0.053988s
0.113292s
Success
shm.c
Success
None
0.050744s
0.104333s
Success
shmtest.c
Success
None
0.046446s
0.091435s
Success
thread_malloc_sequential.c
Success
None
0.053519s
0.114054s
Success
vtable.c
Success
None
0.056002s
0.106628s
Success
Networking Tests
accept4.c
Success
None
0.055752s
0.108849s
Success
dns_resolve_test.c
Success
None
0.049187s
0.095184s
Success
dnstest.c
Success
None
0.050619s
0.104691s
Success
epoll_edge_triggered.c
Success
None
0.207751s
0.444873s
Success
epollcreate1.c
Success
None
0.052733s
0.103791s
Success
error_handling_net.c
Success
None
0.058897s
0.203333s
Success
getaddrinfo_test.c
Success
None
0.053882s
0.137465s
Success
getaddrinfo_unspec.c
Success
None
0.051259s
0.131239s
Success
gethostname.c
Success
None
0.044002s
0.081488s
Success
getifaddrs.c
Success
None
0.052163s
0.094786s
Success
getsockname.c
Success
None
0.055143s
0.099117s
Success
getsockopt.c
Success
None
0.056517s
0.150200s
Success
ipv6_basic.c
Success
None
0.055242s
0.139016s
Success
makepipe.c
Success
None
0.044032s
0.081415s
Success
nonblocking_eagain.c
Success
None
0.055472s
0.153127s
Success
pipe.c
Success
None
0.052816s
0.103117s
Success
pipe2.c
Success
None
0.052232s
0.096662s
Success
pipeinput.c
Success
None
0.054118s
0.113486s
Success
pipeinput2.c
Success
None
0.054374s
0.114778s
Success
pipeonestring.c
Success
None
0.054259s
0.113963s
Success
pipepong.c
Success
None
0.052545s
0.116778s
Success
pipewrite.c
Success
None
0.047340s
0.096741s
Success
poll.c
Success
None
0.051335s
0.091216s
Success
recvfrom-sendto.c
Success
None
0.052099s
0.101480s
Success
sendmsg_recvmsg_test.c
Success
None
0.051951s
0.103763s
Success
serverclient.c
Success
None
0.051434s
0.098976s
Success
shutdown.c
Success
None
0.053451s
0.099612s
Success
shutdown_fork.c
Success
None
0.051763s
0.102617s
Success
simple-select.c
Success
None
0.053159s
0.115136s
Success
simple_epoll.c
Success
None
0.052161s
0.099032s
Success
socket.c
Success
None
0.049990s
0.089389s
Success
socket_cloexec.c
Success
None
0.050339s
0.091241s
Success
socket_options_advanced.c
Success
None
0.057097s
0.166351s
Success
socketepoll.c
Success
None
0.049937s
0.093481s
Success
socketpair.c
Success
None
0.049866s
0.098771s
Success
socketselect.c
Success
None
0.050265s
0.097411s
Success
udp_send_recv.c
Success
None
0.158377s
0.254129s
Success
uds-getsockname.c
Success
None
0.051240s
0.092239s
Success
uds-nb-select.c
Success
None
2.061966s
2.144978s
Success
uds-serverclient.c
Success
None
0.054753s
0.120882s
Success
uds-socketselect.c
Success
None
0.051555s
0.098223s
Success
writev_socket.c
Success
None
0.055664s
0.134578s
Success
Process Tests
barrier_test.c
Success
None
0.048539s
0.093695s
Success
chain_thread.c
Success
None
1.052109s
1.102281s
Success
ctor_syscall_test.c
Success
None
0.040462s
0.079499s
Success
cxa_atexit_test.c
Success
None
0.046247s
0.084325s
Success
execve_shebang.c
Success
None
0.051357s
0.091768s
Success
exit.c
Success
None
0.048057s
0.083899s
Success
exit_failure.c
Success
None
0.050074s
0.096172s
Success
exit_group_thread.c
Success
None
0.051460s
0.099733s
Success
flockfile_test.c
Success
None
0.050951s
0.106215s
Success
fork2malloc.c
Success
None
0.052497s
0.100312s
Success
fork_select.c
Success
None
0.050355s
0.105127s
Success
fork_simple.c
Success
None
0.048879s
0.092955s
Success
fork_syscall.c
Success
None
0.056117s
0.218167s
Success
fork_tls_ctype.c
Success
None
0.052219s
0.119340s
Success
forkandopen.c
Success
None
0.052037s
0.109847s
Success
forkdup.c
Success
None
0.053569s
0.100273s
Success
forkexecuid.c
Success
None
0.048936s
0.107874s
Success
forkexecv-arg.c
Success
None
0.049730s
0.096479s
Success
forkexecv.c
Success
None
0.048951s
0.095792s
Success
forkfiles.c
Success
None
0.052050s
0.105450s
Success
forkmalloc.c
Success
None
0.050681s
0.096132s
Success
forknodup.c
Success
None
0.050833s
0.104663s
Success
function-ptr.c
Success
None
0.045139s
0.085407s
Success
getegid_syscall.c
Success
None
0.050165s
0.180923s
Success
getgid_syscall.c
Success
None
0.050943s
0.190016s
Success
getpid.c
Success
None
0.043386s
0.081614s
Success
getpid_syscall.c
Success
None
0.053142s
0.200039s
Success
getppid.c
Success
None
0.050671s
0.093943s
Success
getppid_syscall.c
Success
None
0.053387s
0.164473s
Success
getuid.c
Success
None
0.051261s
0.092335s
Success
getuid_syscall.c
Success
None
0.049598s
0.129162s
Success
hello-arg.c
Success
None
0.041909s
0.080731s
Success
hello.c
Success
None
0.040545s
0.076786s
Success
longjmp.c
Success
None
0.042379s
0.083746s
Success
mutex.c
Success
None
2.053376s
2.102499s
Success
printf_deadlock_smoke.c
Success
None
0.059732s
0.123544s
Success
printf_thread_test.c
Success
None
0.049122s
0.101370s
Success
sem_forks.c
Success
None
0.052682s
0.106795s
Success
setsid.c
Success
None
0.044264s
0.082823s
Success
template.c
Success
None
0.050998s
0.113301s
Success
test_exec_nofork.c
Success
None
0.050016s
0.095669s
Success
test_unlink_open_file.c
Success
None
0.044690s
0.081918s
Success
thread-guard.c
Success
None
0.048323s
0.095542s
Success
thread-test.c
Success
None
0.047202s
0.090092s
Success
thread.c
Success
None
0.045585s
0.088243s
Success
thread_cageid_race.c
Success
None
0.046109s
0.106041s
Success
tls_test.c
Success
None
0.048460s
0.097369s
Success
uname.c
Success
None
0.043718s
0.079824s
Success
wait.c
Success
None
2.047497s
2.095909s
Success
waitpid_anychild.c
Success
None
0.052720s
0.095404s
Success
waitpid_syscall.c
Success
None
1.050166s
1.125080s
Success
waitpid_wnohang.c
Success
None
0.050473s
0.096019s
Success
Signal Tests
alarm.c
Success
None
7.050271s
7.126127s
Success
eintr_fork_signal.c
Success
None
1.051920s
1.107374s
Success
kill.c
Success
None
1.049597s
1.097438s
Success
setitimer.c
Success
None
7.049988s
7.123803s
Success
sigalrm.c
Success
None
2.050840s
2.104048s
Success
sigaltstack.c
Success
None
0.052679s
0.100242s
Success
sigchld.c
Success
None
1.051937s
1.096487s
Success
signal-fork.c
Success
None
4.052630s
4.098870s
Success
signal-simple.c
Success
None
0.051180s
0.091489s
Success
signal_SIGCHLD.c
Success
None
0.049172s
0.098851s
Success
signal_fork.c
Success
None
0.047067s
0.098024s
Success
signal_int_ignored.c
Success
None
2.050609s
2.096959s
Success
signal_kill_cleanup.c
Success
None
1.048104s
1.094106s
Success
signal_procmask.c
Success
None
0.045091s
0.090811s
Success
signal_read_interrupt.c
Success
None
0.554579s
0.605190s
Success
signal_recursive.c
Success
None
0.045481s
0.091546s
Success
signal_sa_mask.c
Success
None
0.045393s
0.087730s
Success
signal_select_interrupt.c
Success
None
0.554447s
0.606765s
Success
signal_write_interrupt.c
Success
None
1.052524s
1.107953s
Success
sigpipe.c
Success
None
1.052657s
1.103181s
Success
sigprocmask.c
Success
None
1.049327s
1.095947s
Success
Fail Tests
Summary
Metric
Count
Total Test Cases
4
Number of Successes
4
Number of Failures
0
Number of Compilation Failure Native
0
Number of Runtime Failure Native
0
Number of Segmentation Fault Native
0
Number of Timeout During Native
0
Number of Lind Wasm Compile Failure
0
Number of Lind Wasm Runtime Failure
0
Number of Lind Wasm Segmentation Failure
0
Number of Timeout During Lind Wasm run
0
Number of Unknown Failure
0
Number of C Compiler and Wasm Output mismatch
0
Number of Fail Test: Native Succeeded (Should Fail)
0
Number of Fail Test: Wasm Succeeded (Should Fail)
0
Number of Fail Test: Both Native and Wasm Succeeded (Should Fail)
0
Number of Fail Test: Native Compilation Failure (Should Succeed)
0
Number of Fail Test: Wasm Compilation Failure (Should Succeed)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
This PR removes the deprecated
set_stack_pointer.ohelper from the glibc/sysroot build path.Previously,
set_stack_pointer.owas built fromset_stack_pointer.s, copied into the wasm32-wasi sysroot, included in glibc object lists, and explicitly linked during dynamic compilation. The stack pointer update is now handled on the Wasmtime side, so this standalone helper object is no longer needed.This change:
src/glibc/csu/wasm32/set_stack_pointer.sset_stack_pointer.o/set_stack_pointer.osfrom glibc object listsset_stack_pointer.ointo the sysrootset_stack_pointer.oinscripts/lind_compileset_stack_pointerreference frompthread_create.cRelated Issue
Closes #978
Related to:
glibc: depreciate set_stack_pointer.oValidation
I checked that there are no remaining script/source/document references to:
set_stack_pointer.sset_stack_pointer.oset_stack_pointer.osusing
grepacrossscripts,src, anddocs, excluding generated/binary artifacts.I also ran: